<!DOCTYPE html>
<html lang="zh-CN">
    <head>
    <!-- <script src="adSense.js"></script> -->
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, width=device-width">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <title>蜘蛛纸牌-1</title>
        <meta name="description" content="Play in your browser a beautiful Spider solitaire games collection!"/>
        <meta name="keywords" content="spider, spider solitaire, solitaire, online solitaire"/>
        <!--[if lt IE 9]><script type='text/javascript'">
window.location='ie8/';</script><![endif]-->
        <!--[if lt IE 10]><script type='text/javascript'">
window.location='ie9/';</script><![endif]-->
        <link rel="stylesheet" href="solitaire/css/jquery.mobile-1.4.0.min.css"/>
        <link rel="stylesheet" type="text/css" href="solitaire/css/style.css?v=4cdc35d614440815393610611e5aa019"/>
        <link rel="icon" type="image/png" href="solitaire/solitaire.png"/>
        <meta property="og:image" content="spider-solitaire.png" />
        <script>
            (function() {
                'use strict';
                var g = function(a) {
                    var b = 0;
                    return function() {
                        return b < a.length ? {
                            done: !1,
                            value: a[b++]
                        } : {
                            done: !0
                        }
                    }
                }
                  , l = this || self
                  , m = /^[\w+/_-]+[=]{0,2}$/
                  , p = null
                  , q = function() {}
                  , r = function(a) {
                    var b = typeof a;
                    if ("object" == b)
                        if (a) {
                            if (a instanceof Array)
                                return "array";
                            if (a instanceof Object)
                                return b;
                            var c = Object.prototype.toString.call(a);
                            if ("[object Window]" == c)
                                return "object";
                            if ("[object Array]" == c || "number" == typeof a.length && "undefined" != typeof a.splice && "undefined" != typeof a.propertyIsEnumerable && !a.propertyIsEnumerable("splice"))
                                return "array";
                            if ("[object Function]" == c || "undefined" != typeof a.call && "undefined" != typeof a.propertyIsEnumerable && !a.propertyIsEnumerable("call"))
                                return "function"
                        } else
                            return "null";
                    else if ("function" == b && "undefined" == typeof a.call)
                        return "object";
                    return b
                }
                  , u = function(a, b) {
                    function c() {}
                    c.prototype = b.prototype;
                    a.prototype = new c;
                    a.prototype.constructor = a
                };
                var v = function(a, b) {
                    Object.defineProperty(l, a, {
                        configurable: !1,
                        get: function() {
                            return b
                        },
                        set: q
                    })
                };
                var y = function(a, b) {
                    this.b = a === w && b || "";
                    this.a = x
                }
                  , x = {}
                  , w = {};
                var aa = function(a, b) {
                    a.src = b instanceof y && b.constructor === y && b.a === x ? b.b : "type_error:TrustedResourceUrl";
                    if (null === p)
                        b: {
                            b = l.document;
                            if ((b = b.querySelector && b.querySelector("script[nonce]")) && (b = b.nonce || b.getAttribute("nonce")) && m.test(b)) {
                                p = b;
                                break b
                            }
                            p = ""
                        }
                    b = p;
                    b && a.setAttribute("nonce", b)
                };
                var z = function() {
                    return Math.floor(2147483648 * Math.random()).toString(36) + Math.abs(Math.floor(2147483648 * Math.random()) ^ +new Date).toString(36)
                };
                var A = function(a, b) {
                    b = String(b);
                    "application/xhtml+xml" === a.contentType && (b = b.toLowerCase());
                    return a.createElement(b)
                }
                  , B = function(a) {
                    this.a = a || l.document || document
                };
                B.prototype.appendChild = function(a, b) {
                    a.appendChild(b)
                }
                ;
                var C = function(a, b, c, d, e, f) {
                    try {
                        var k = a.a
                          , h = A(a.a, "SCRIPT");
                        h.async = !0;
                        aa(h, b);
                        // k.head.appendChild(h);
                        h.addEventListener("load", function() {
                            e();
                            d && k.head.removeChild(h)
                        });
                        h.addEventListener("error", function() {
                            0 < c ? C(a, b, c - 1, d, e, f) : (d && k.head.removeChild(h),
                            f())
                        })
                    } catch (n) {
                        f()
                    }
                };
                var ba = l.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n")
                  , ca = l.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg==")
                  , da = l.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu")
                  , ea = function(a, b, c) {
                    this.b = a;
                    this.f = new B(this.b);
                    this.a = null;
                    this.c = [];
                    this.g = !1;
                    this.i = b;
                    this.h = c
                }
                  , F = function(a) {
                    if (a.b.body && !a.g) {
                        var b = function() {
                            D(a);
                            l.setTimeout(function() {
                                return E(a, 3)
                            }, 50)
                        };
                        C(a.f, a.i, 2, !0, function() {
                            l[a.h] || b()
                        }, b);
                        a.g = !0
                    }
                }
                  , D = function(a) {
                    for (var b = G(1, 5), c = 0; c < b; c++) {
                        var d = H(a);
                        a.b.body.appendChild(d);
                        a.c.push(d)
                    }
                    b = H(a);
                    b.style.bottom = "0";
                    b.style.left = "0";
                    b.style.position = "fixed";
                    b.style.width = G(100, 110).toString() + "%";
                    b.style.zIndex = G(2147483544, 2147483644).toString();
                    b.style["background-color"] = I(249, 259, 242, 252, 219, 229);
                    b.style["box-shadow"] = "0 0 12px #888";
                    b.style.color = I(0, 10, 0, 10, 0, 10);
                    b.style.display = "flex";
                    b.style["justify-content"] = "center";
                    b.style["font-family"] = "Roboto, Arial";
                    c = H(a);
                    c.style.width = G(80, 85).toString() + "%";
                    c.style.maxWidth = G(750, 775).toString() + "px";
                    c.style.margin = "24px";
                    c.style.display = "flex";
                    c.style["align-items"] = "flex-start";
                    c.style["justify-content"] = "center";
                    d = A(a.f.a, "IMG");
                    d.className = z();
                    d.src = ba;
                    d.style.height = "24px";
                    d.style.width = "24px";
                    d.style["padding-right"] = "16px";
                    var e = H(a)
                      , f = H(a);
                    f.style["font-weight"] = "bold";
                    f.textContent = ca;
                    var k = H(a);
                    k.textContent = da;
                    J(a, e, f);
                    J(a, e, k);
                    J(a, c, d);
                    J(a, c, e);
                    J(a, b, c);
                    a.a = b;
                    a.b.body.appendChild(a.a);
                    b = G(1, 5);
                    for (c = 0; c < b; c++)
                        d = H(a),
                        a.b.body.appendChild(d),
                        a.c.push(d)
                }
                  , J = function(a, b, c) {
                    for (var d = G(1, 5), e = 0; e < d; e++) {
                        var f = H(a);
                        b.appendChild(f)
                    }
                    b.appendChild(c);
                    c = G(1, 5);
                    for (d = 0; d < c; d++)
                        e = H(a),
                        b.appendChild(e)
                }
                  , G = function(a, b) {
                    return Math.floor(a + Math.random() * (b - a))
                }
                  , I = function(a, b, c, d, e, f) {
                    return "rgb(" + G(Math.max(a, 0), Math.min(b, 255)).toString() + "," + G(Math.max(c, 0), Math.min(d, 255)).toString() + "," + G(Math.max(e, 0), Math.min(f, 255)).toString() + ")"
                }
                  , H = function(a) {
                    a = A(a.f.a, "DIV");
                    a.className = z();
                    return a
                }
                  , E = function(a, b) {
                    0 >= b || null != a.a && 0 != a.a.offsetHeight && 0 != a.a.offsetWidth || (fa(a),
                    D(a),
                    l.setTimeout(function() {
                        return E(a, b - 1)
                    }, 50))
                }
                  , fa = function(a) {
                    var b = a.c;
                    var c = "undefined" != typeof Symbol && Symbol.iterator && b[Symbol.iterator];
                    b = c ? c.call(b) : {
                        next: g(b)
                    };
                    for (c = b.next(); !c.done; c = b.next())
                        (c = c.value) && c.parentNode && c.parentNode.removeChild(c);
                    a.c = [];
                    (b = a.a) && b.parentNode && b.parentNode.removeChild(b);
                    a.a = null
                };
                var ia = function(a, b, c, d, e) {
                    var f = ha(c)
                      , k = function(n) {
                        n.appendChild(f);
                        l.setTimeout(function() {
                            f ? (0 !== f.offsetHeight && 0 !== f.offsetWidth ? b() : a(),
                            f.parentNode && f.parentNode.removeChild(f)) : a()
                        }, d)
                    }
                      , h = function(n) {
                        document.body ? k(document.body) : 0 < n ? l.setTimeout(function() {
                            h(n - 1)
                        }, e) : b()
                    };
                    h(3)
                }
                  , ha = function(a) {
                    var b = document.createElement("div");
                    b.className = a;
                    b.style.width = "1px";
                    b.style.height = "1px";
                    b.style.position = "absolute";
                    b.style.left = "-10000px";
                    b.style.top = "-10000px";
                    b.style.zIndex = "-10000";
                    return b
                };
                var K = {}
                  , L = null;
                var M = function() {}
                  , N = "function" == typeof Uint8Array
                  , O = function(a, b) {
                    a.b = null;
                    b || (b = []);
                    a.j = void 0;
                    a.f = -1;
                    a.a = b;
                    a: {
                        if (b = a.a.length) {
                            --b;
                            var c = a.a[b];
                            if (!(null === c || "object" != typeof c || Array.isArray(c) || N && c instanceof Uint8Array)) {
                                a.g = b - a.f;
                                a.c = c;
                                break a
                            }
                        }
                        a.g = Number.MAX_VALUE
                    }
                    a.i = {}
                }
                  , P = []
                  , Q = function(a, b) {
                    if (b < a.g) {
                        b += a.f;
                        var c = a.a[b];
                        return c === P ? a.a[b] = [] : c
                    }
                    if (a.c)
                        return c = a.c[b],
                        c === P ? a.c[b] = [] : c
                }
                  , R = function(a, b, c) {
                    a.b || (a.b = {});
                    if (!a.b[c]) {
                        var d = Q(a, c);
                        d && (a.b[c] = new b(d))
                    }
                    return a.b[c]
                };
                M.prototype.h = N ? function() {
                    var a = Uint8Array.prototype.toJSON;
                    Uint8Array.prototype.toJSON = function() {
                        var b;
                        void 0 === b && (b = 0);
                        if (!L) {
                            L = {};
                            for (var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""), d = ["+/=", "+/", "-_=", "-_.", "-_"], e = 0; 5 > e; e++) {
                                var f = c.concat(d[e].split(""));
                                K[e] = f;
                                for (var k = 0; k < f.length; k++) {
                                    var h = f[k];
                                    void 0 === L[h] && (L[h] = k)
                                }
                            }
                        }
                        b = K[b];
                        c = [];
                        for (d = 0; d < this.length; d += 3) {
                            var n = this[d]
                              , t = (e = d + 1 < this.length) ? this[d + 1] : 0;
                            h = (f = d + 2 < this.length) ? this[d + 2] : 0;
                            k = n >> 2;
                            n = (n & 3) << 4 | t >> 4;
                            t = (t & 15) << 2 | h >> 6;
                            h &= 63;
                            f || (h = 64,
                            e || (t = 64));
                            c.push(b[k], b[n], b[t] || "", b[h] || "")
                        }
                        return c.join("")
                    }
                    ;
                    try {
                        return JSON.stringify(this.a && this.a, S)
                    } finally {
                        Uint8Array.prototype.toJSON = a
                    }
                }
                : function() {
                    return JSON.stringify(this.a && this.a, S)
                }
                ;
                var S = function(a, b) {
                    return "number" !== typeof b || !isNaN(b) && Infinity !== b && -Infinity !== b ? b : String(b)
                };
                M.prototype.toString = function() {
                    return this.a.toString()
                }
                ;
                var T = function(a) {
                    O(this, a)
                };
                u(T, M);
                var U = function(a) {
                    O(this, a)
                };
                u(U, M);
                var ja = function(a, b) {
                    this.c = new B(a);
                    var c = R(b, T, 5);
                    c = new y(w,Q(c, 4) || "");
                    this.b = new ea(a,c,Q(b, 4));
                    this.a = b
                }
                  , ka = function(a, b, c, d) {
                    b = new T(b ? JSON.parse(b) : null);
                    b = new y(w,Q(b, 4) || "");
                    C(a.c, b, 3, !1, c, function() {
                        ia(function() {
                            F(a.b);
                            d(!1)
                        }, function() {
                            d(!0)
                        }, Q(a.a, 2), Q(a.a, 3), Q(a.a, 1))
                    })
                };
                var la = function(a, b) {
                    V(a, "internal_api_load_with_sb", function(c, d, e) {
                        ka(b, c, d, e)
                    });
                    V(a, "internal_api_sb", function() {
                        F(b.b)
                    })
                }
                  , V = function(a, b, c) {
                    a = l.btoa(a + b);
                    v(a, c)
                }
                  , W = function(a, b, c) {
                    for (var d = [], e = 2; e < arguments.length; ++e)
                        d[e - 2] = arguments[e];
                    e = l.btoa(a + b);
                    e = l[e];
                    if ("function" == r(e))
                        e.apply(null, d);
                    else
                        throw Error("API not exported.");
                };
                var X = function(a) {
                    O(this, a)
                };
                u(X, M);
                var Y = function(a) {
                    this.h = window;
                    this.a = a;
                    this.b = Q(this.a, 1);
                    this.f = R(this.a, T, 2);
                    this.g = R(this.a, U, 3);
                    this.c = !1
                };
                Y.prototype.start = function() {
                    ma();
                    var a = new ja(this.h.document,this.g);
                    la(this.b, a);
                    na(this)
                }
                ;
                var ma = function() {
                    var a = function() {
                        if (!l.frames.googlefcPresent)
                            if (document.body) {
                                var b = document.createElement("iframe");
                                b.style.display = "none";
                                b.style.width = "0px";
                                b.style.height = "0px";
                                b.style.border = "none";
                                b.style.zIndex = "-1000";
                                b.style.left = "-1000px";
                                b.style.top = "-1000px";
                                b.name = "googlefcPresent";
                                document.body.appendChild(b)
                            } else
                                l.setTimeout(a, 5)
                    };
                    a()
                }
                  , na = function(a) {
                    var b = Date.now();
                    W(a.b, "internal_api_load_with_sb", a.f.h(), function() {
                        var c;
                        var d = a.b
                          , e = l[l.btoa(d + "loader_js")];
                        if (e) {
                            e = l.atob(e);
                            e = parseInt(e, 10);
                            d = l.btoa(d + "loader_js").split(".");
                            var f = l;
                            d[0]in f || "undefined" == typeof f.execScript || f.execScript("var " + d[0]);
                            for (; d.length && (c = d.shift()); )
                                d.length ? f[c] && f[c] !== Object.prototype[c] ? f = f[c] : f = f[c] = {} : f[c] = null;
                            c = Math.abs(b - e);
                            c = 1728E5 > c ? 0 : c
                        } else
                            c = -1;
                        0 != c && (W(a.b, "internal_api_sb"),
                        Z(a, Q(a.a, 6)))
                    }, function(c) {
                        Z(a, c ? Q(a.a, 4) : Q(a.a, 5))
                    })
                }
                  , Z = function(a, b) {
                    a.c || (a.c = !0,
                    a = new l.XMLHttpRequest,
                    a.open("GET", b, !0),
                    a.send())
                };
                (function(a, b) {
                    l[a] = function(c) {
                        for (var d = [], e = 0; e < arguments.length; ++e)
                            d[e - 0] = arguments[e];
                        l[a] = q;
                        b.apply(null, d)
                    }
                }
                )("__d3lUW8vwsKlB__", function(a) {
                    "function" == typeof window.atob && (a = window.atob(a),
                    a = new X(a ? JSON.parse(a) : null),
                    (new Y(a)).start())
                });
            }
            ).call(this);
            window.__d3lUW8vwsKlB__("WyI4MWMwYjIxZTY1MGE1ZjVmIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2YvQUdTS1d4V2JZSndQb3lyWmxlYVVibndhUm1LbmVOaGpZRzVKRUhnTkV6d3Q2anFBZVJKZnlxLTQyZEJYbkx4Q2V2U3ZrcFk5XzlrRjJZeHNQYmhZMGFRVkEyQVx1MDAzZCJdCixbMjAsImRpdi1ncHQtYWQiLDEwMCwiT0RGak1HSXlNV1UyTlRCaE5XWTFaZ1x1MDAzZFx1MDAzZCIsW251bGwsbnVsbCxudWxsLCJodHRwczovL3d3dy5nc3RhdGljLmNvbS8wZW1uL2YvcC84MWMwYjIxZTY1MGE1ZjVmLmpzP3VzcXBcdTAwM2RDQTAiXQpdCiwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vbC9BR1NLV3hXdkpWeUcyUlBuTUg1X1lDMzdWMlhQUU9ta3BPUExnMFV6Zk5JRHJfR2NxcDNmLVBZb092cGhfYm5Ddk5taHlJbGIyTW1PMlVjNldIYnlFOGhhP2FiXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2wvQUdTS1d4VTdNRzJ3R2I4RDVFNWY3UGI4alAzN0NSQ0NKQU5RUVZqRXdSaEEtNFAxMTlzVUVZTTFEMWRMNFo5WHZ0LVcweC1WSkRJeDA4eGV4dGlSQWVzRT9hYlx1MDAzZDJcdTAwMjZzYmZcdTAwM2QxIiwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vbC9BR1NLV3hVNjF0NUszUVlRcGI3Q1F2cFlYLXRhS0pkQTVBWEE0cGRLUE5pSVpUVFRKOUZYY1VVN3laVTQtZjFwRXhoTWZIb3A2RHpnSGkzM2g3VGJnSkRiP3NiZlx1MDAzZDIiXQo=");
        </script>
        <script type='text/javascript' src='solitaire/js/lib/jquery/jquery-1.8.3.min.js'></script>
        <script type='text/javascript' src="solitaire/js/lib/jquery/jquery.mobile-1.4.0.min.js"></script>
        <script type='text/javascript' src="solitaire/js/lib/jquery/jquery-ui-1.10.4.custom.min.js"></script>
        <script type="text/javascript" src="solitaire/js/lib/plugins/jquery.hotkeys.js"></script>
        <script type="text/javascript" src="solitaire/js/lib/plugins/jquery.transit.js"></script>
        <script type="text/javascript" src="solitaire/js/lib/plugins/raphael-min.js"></script>
        <script type='text/javascript' src='solitaire/js/solitaire_all.js?v=e2cb06ed516bbfef666717fcb40937fb'></script>
    </head>
    <body style="overflow:hidden;">
        <style type="text/css">
            #playArea {
                left: 40px;
                right: 40px
            }
        </style>
        <div id='game-ui' data-role="page">
            <div id='about-dialog' data-role='popup'>
                <div data-role='header'>
                    <h4>关于</h4>
                </div>
                <div data-role='content'>
                    <div>
                        <table border="0" width="470">
                            <tr>
                                <td width="110" valign="top">
                                    <img border="0" src="solitaire/solitaire.png" width="92" height="92">
                                </td>
                                <td width="360" valign="top">
                                    <div>
                                        <p>
                                            <b>蜘蛛纸牌</b>
                                        </p>
                                        <p>
                                            版权所有 2011-2021 <a href="https://www.treecardgames.com" target="_blank">TreeCardGames</a>
                                            <br>保留所有权利。
                                        </p>
                                        <span style="font-size: 14px;color: #000000;">
                                            <p>
                                                <a href="https://www.treecardgames.com/games_browser.htm" target="_blank">更多游戏</a>
                                                &nbsp;&nbsp;&nbsp;<a href="privacy/en/privacy.htm" target="_blank">隐私政策</a>
                                                &nbsp;&nbsp;&nbsp;<a href="https://www.treecardgames.com/support.htm" target="_blank">支持</a>
                                            </p>
                                        </span>
                                        <table cellpadding="0" cellspacing="0" style="width: 100%">
                                            <tr>
                                                <td style="width: 46px">
                                                    <a href="https://treecardgames.blogspot.com/" target="_blank">
                                                        <img border="0" src="solitaire/images/others/blogger.png" width="32" height="32">
                                                    </a>
                                                </td>
                                                <td>关注蜘蛛纸牌的博客</td>
                                                <td>&nbsp;</td>
                                            </tr>
                                            <tr>
                                                <td style="width: 46px">
                                                    <a href="https://www.youtube.com/user/treecardgames" target="_blank">
                                                        <img border="0" src="solitaire/images/others/youtube_social_square_red.png" width="32" height="32">
                                                    </a>
                                                </td>
                                                <td>
                                                    <span data-lang-ref='follow-us'>关注我们</span>
                                                    YouTube
                                                </td>
                                                <td>&nbsp;</td>
                                            </tr>
                                        </table>
                                        <hr>
                                        <span style="font-size: 14px;">
                                            <b>想要更多纸牌游戏？</b>
                                            <br/>
                                            试试<b>SolSuite 纸牌</b>
                                            , 全球最完整的
                                    纸牌合集，包含700多种纸牌游戏、
                                    60套卡牌样式、300种牌背和100种背景！<br/>
                                            立即体验： <a href="https://www.solsuite.com" target="_blank">www.solsuite.com</a>
                                        </span>
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </div>
                    <div class='center-inline-wrapper'>
                        <a href='#game-ui' data-role='button' data-inline='true'>关闭</a>
                    </div>
                </div>
            </div>
            <div id='more-games-dialog' data-role='popup'>
                <div data-role='header'>
                    <h4 data-lang-ref='more-games'>更多免费游戏</h4>
                </div>
                <div data-role='content'>
                    <table border="0" width="500">
                        <tr>
                            <td width="40%" valign="top" align="left"></td>
                            <td width="60%" valign="top" align="left"></td>
                        </tr>
                        <tr>
                            <td width="40%" valign="top" align="left">
                                <a href="//www.klondikesolitaire.info" target="_blank">
                                    <img border="0" src="solitaire/images/others/other_games_solitaire_web_app.jpg" width="190" height="120">
                            </td>
                            <td width="60%" valign="top" align="left">
                                <b>纸牌网页应用</b>
                                <br>
                                畅玩现代纸牌合集，包括克朗代克、金字塔、高尔夫等<br>
                                <a href="//www.klondikesolitaire.info" target="_blank">立即玩纸牌</a>
                            </td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td width="40%" valign="top" align="left">
                                <a href="//www.freecellsolitaire.info" target="_blank">
                                    <img border="0" src="solitaire/images/others/other_games_freecell.jpg" width="190" height="120">
                            </td>
                            <td width="60%" valign="top" align="left">
                                <b>空当接龙</b>
                                <br>
                                畅玩空当接龙、双副空当接龙、贝克游戏和八关接龙<br>
                                <a href="//www.freecellsolitaire.info" target="_blank">立即玩空当接龙</a>
                            </td>
                        </tr>
                        <tr>
                            <td>&nbsp;</td>
                        </tr>
                        <tr>
                            <td width="40%" valign="top" align="left">
                                <a href="http://www.free-play-mahjong.com" target="_blank">
                                    <img border="0" src="solitaire/images/others/other_games_mahjong.jpg" width="190" height="122">
                            </td>
                            <td width="60%" valign="top" align="left">
                                <b>EZ解禁游戏</b>
                                <br>
                                和好友一起玩各种校园解禁游戏<br>
                                <a href="https://ezclasswork.com" target="_blank">玩解禁游戏</a>
                            </td>
                        </tr>
                    </table>
                    <br>
                    <div class='center-inline-wrapper'>
                        <a href="https://76ezgames.com" target="_blank" data-role='button' data-inline='true' data-lang-ref='more-games'>76EZGAMES</a>
                        <a href='#game-ui' data-role='button' data-inline='true'>关闭</a>
                    </div>
                </div>
            </div>
            <div id="shareButtonsGroup"></div>
            <div id='topBar'>
                <span id='gameName'></span>
                <span id='topBarRightContainer'>
                    <div>
                        <div id='display-score' class='top-display'>
                            <span data-lang-ref="score">计分</span>
                            : <span class='display-content'></span>
                        </div>
                    </div>
                    <div>
                        <div id='display-time' class='top-display'>
                            <span data-lang-ref="time">时间</span>
                            : <span class='display-content'></span>
                        </div>
                    </div>
                    <div>
                        <div id='display-moves' class='top-display'>
                            <span data-lang-ref="moves">移动步数</span>
                            : <span class='display-content'></span>
                        </div>
                    </div>
                    <div>
                        <div id='toggle-fullscreen' class='top-display'></div>
                    </div>
                </span>
            </div>
            <div id='playArea'>
                <div id='fakeCard'></div>
            </div>
            <div class='bottomBar'>
                <div class='barLeft'>
                    <div id='change-solitaire-but' data-lang-ref='games' class='bottomButton select-game'>游戏规则</div>
                    <div id='new-game-but' data-lang-ref='new' class='bottomButton'>新游戏</div>
                    <div id='undo-but' data-lang-ref='undo' class='bottomButton'>撤销</div>
                    <div id='hint-but' data-lang-ref='hint' class='bottomButton'>提示</div>
                </div>
                <div class='barRight'>
                    <div data-lang-ref='more' class='bottomButton more-but'>更多</div>
                </div>
            </div>
            <div id='new-game-dialog' data-role='popup' data-position-to="window" data-corners=true>
                <div data-role='header'>
                    <h4 data-lang-ref='new-game'>新游戏</h4>
                </div>
                <div data-role='content'>
                    <span data-lang-ref='new-game-ask'>您想如何处理当前进行中的游戏？</span>
                    <button data-lang-ref='start-new' class='start-new back-to-game'>退出并开始新游戏</button>
                    <button data-lang-ref='restart' class='restart back-to-game'>重新开始本局游戏</button>
                    <a href='#game-ui' data-lang-ref='keep' data-role='button' class='back-to-game'>继续游戏</a>
                </div>
            </div>
            <div id='settings-dialog' data-role='popup'>
                <div data-role='header'>
                    <h4 data-lang-ref='settings'>设置</h4>
                </div>
                <div data-role='content'>
                    <ul data-role="listview" data-inset="true">
                        <li>
                            <a href='#' class='appearance-but' data-lang-ref='appearance'>外观</a>
                        </li>
                        <li>
                            <a href='#' class='options-but' data-lang-ref='options'>选项</a>
                        </li>
                    </ul>
                    <a href='#game-ui' class='back-to-game' data-role='button' data-lang-ref='close'>关闭</a>
                </div>
            </div>
            <div id='more-buttons-dialog' data-role='popup'>
                <div data-role='header'>
                    <a href='#game-ui' data-direction="reverse" class='back-to-game onlyphone' data-lang-ref='back'>返回</a>
                    <h4 data-lang-ref='more'>更多...</h4>
                </div>
                <div data-role='content'>
                    <ul data-role="listview" data-inset="true">
                        <li>
                            <a href='#' class='scores-but' data-lang-ref='scores'>分数</a>
                        </li>
                    </ul>
                    <ul data-role="listview" data-inset="true">
                        <li>
                            <a href='#' class='appearance-but' data-lang-ref='appearance'>外观(不可用)</a>
                        </li>
                        <li>
                            <a href='#' class='options-but' data-lang-ref='options'>选项</a>
                        </li>
                    </ul>
                    <ul data-role="listview" data-inset="true">
                        <li>
                            <a href='#' class='rules-but' data-lang-ref='rules'>帮助(不可用)</a>
                        </li>
                        <li>
                            <a href='#' class='more-games-but' data-lang-ref='more-games'>更多免费游戏</a>
                        </li>
                        <li>
                            <a href='#' class='about-but' data-lang-ref='about'>关于</a>
                        </li>
                        <li>
                          <a href="https://github.com/gameinclassroom/spider-solitaire" target="_blank">原项目仓库</a>
                        </li>
                        <li>
                          <a href="https://github.com/Firfe/solitaire" target="_blank">镜像制作仓库</a>
                        </li>
                    </ul>
                    <a href='#game-ui' class='back-to-game' data-role='button' data-lang-ref='close'>关闭</a>
                </div>
            </div>
            <div id='options-dialog' data-role='popup'>
                <div data-role='header'>
                    <a href='#game-ui' data-direction="reverse" class='back-to-game onlyphone' data-lang-ref='back'>返回</a>
                    <h4 data-lang-ref='options'>选项</h4>
                </div>
                <div data-role='content'>
                    <div data-role='fieldcontain'>
                        <label for="sound-option" data-lang-ref='game-sounds'>游戏音效：</label>
                        <select name="sound-option" id="sound-option" data-role="slider">
                            <option value="off" data-lang-ref="off">关</option>
                            <option value="on" data-lang-ref="on">开</option>
                        </select>
                    </div>
                    <div data-role="fieldcontain" id="effect-toggle">
                        <label for="effect-option" data-lang-ref='enable-effect'>启用视觉效果（阴影、卡牌放大、按钮）：</label>
                        <select name="effect-option" id="effect-option" data-role="slider">
                            <option value="off" data-lang-ref="off">关</option>
                            <option value="on" data-lang-ref="on">开</option>
                        </select>
                    </div>
                    <div data-role="fieldcontain" id="swing-item">
                        <label for="swing-option" data-lang-ref='apply-swing'>拖动时应用卡牌摆动效果：</label>
                        <select name="swing-option" id="swing-option" data-role="slider">
                            <option value="off" data-lang-ref="off">关</option>
                            <option value="on" data-lang-ref="on">开</option>
                        </select>
                    </div>
                    <div data-role="collapsible">
                        <h4 data-lang-ref="advanced-options">高级选项</h4>
                        <div data-role="fieldcontain" id="css3-toggle">
                            <label for="css3-option" data-lang-ref='css3-item'>使用硬件加速动画</label>
                            <select name="css3-option" id="css3-option" data-role="slider">
                                <option value="off" data-lang-ref="off">关</option>
                                <option value="on" data-lang-ref="on">开</option>
                            </select>
                        </div>
                    </div>
                    <div class="ui-field-contain" id="select-lang-container">
                        <label for="select-lang" class="select" data-lang-ref="languages">语言</label>
                        <select id="select-lang"></select>
                    </div>
                    <br>
                    <fieldset data-role="controlgroup" id='autoplay-option' data-type='horizontal'>
                        <legend data-lang-ref='autoplay-settings'>自动移动卡牌到回收区：</legend>
                        <input type="radio" name="radio" id="radio1" value="g" checked="checked"/>
                        <label for="radio1" data-lang-ref='global-autoplay'>全局</label>
                        <input type="radio" name="radio" id="radio2" id="radio2" value="s"/>
                        <label for="radio2" data-lang-ref='selective-autoplay'>选择性</label>
                        <input type="radio" name="radio" id="radio3" id="radio3" value="n"/>
                        <label for="radio3" data-lang-ref='no-autoplay'>无</label>
                    </fieldset>
                    <br>
                    <fieldset data-role="controlgroup" data-type='horizontal'>
                        <legend data-lang-ref='counters'>显示计数器</legend>
                        <input type="checkbox" name="score-toggle" id="score-toggle" class="custom"/>
                        <label for="score-toggle" data-lang-ref='show-score'>分数</label>
                        <input type="checkbox" name="time-toggle" id="time-toggle" class="custom"/>
                        <label for="time-toggle" data-lang-ref='show-time'>时间</label>
                        <input type="checkbox" name="moves-toggle" id="moves-toggle" class="custom"/>
                        <label for="moves-toggle" data-lang-ref='show-moves'>移动</label>
                    </fieldset>
                    <br>
                    <a href='#game-ui' class='back-to-game' data-role='button' data-lang-ref='close'>关闭</a>
                </div>
            </div>
            <div id='info-dialog' data-role='popup'>
                <div data-role='header'>
                    <a href='#game-ui' data-direction="reverse" class='back-to-game onlyphone' data-lang-ref='back'>返回</a>
                    <h4 id='info-title'></h4>
                </div>
                <div data-role='content'>
                    <div id='info-content'></div>
                    <div class='center-inline-wrapper'>
                        <a id='alert-button' href='#game-ui' data-role='button' data-inline='true' data-lang-ref='ok'>确定</a>
                    </div>
                </div>
            </div>
            <div id='appearance-dialog' data-role='popup'>
                <div data-role='header'>
                    <a href='#game-ui' data-direction="reverse" class='back-to-game onlyphone' data-lang-ref='back'>返回</a>
                    <h4 data-lang-ref='appearance'>外观</h4>
                </div>
                <div data-role='content'>
                    <fieldset data-role="controlgroup" data-type='horizontal'>
                        <input type="radio" name="radio" id='cardsets-tab' class='single-tab'/>
                        <label for="cardsets-tab" data-lang-ref='card-set'>卡牌样式</label>
                        <input type="radio" name="radio" id='cardbacks-tab' class='single-tab'/>
                        <label for="cardbacks-tab" class='tmp-fix-bottom-left' data-lang-ref='card-back'>牌背</label>
                        <input type="radio" name="radio" id='backgrounds-tab' class='single-tab'/>
                        <label for="backgrounds-tab" class='tmp-fix-bottom-left' data-lang-ref='backgrounds'>背景</label>
                    </fieldset>
                    <div></div>
                    <div id='backgrounds-list' class='single-list ui-grid-b' style='display:none'></div>
                    <div id='cardbacks-list' class='single-list ui-grid-d' style='display:none'></div>
                    <div id='cardsets-list' class='single-list ui-grid-b'></div>
                    <a href='#game-ui' class='back-to-game' data-role='button' data-lang-ref="close">关闭</a>
                </div>
            </div>
            <div id='main-ui' data-role='popup'>
                <div data-role='header'>
                    <a href='#game-ui' data-direction="reverse" id='selectSolitaireBack' class='back-to-game' data-lang-ref='back'>返回</a>
                    <h4 data-lang-ref='select-a-solitaire'>选择纸牌游戏</h4>
                </div>
                <div data-role='content' id='games-content'>
                    <div id='group-games'></div>
                </div>
            </div>
            <div id='rules-dialog' data-role='popup' data-corners="false" data-theme="none" data-shadow="false">
                <div data-role="header">
                    <a href="#game-ui" class='back-to-game' data-theme="a" data-lang-ref='back'>返回</a>
                    <h1></h1>
                </div>
                <div data-role="content"></div>
            </div>
            <div id='stats-dialog' data-role='popup'>
                <div data-role='header'>
                    <a href='#game-ui' data-direction="reverse" class='back-to-game onlyphone' data-lang-ref='back'>返回</a>
                    <h4 data-lang-ref='scores'>分数</h4>
                </div>
                <div data-role='content'>
                    <table>
                        <tbody>
                            <tr>
                                <td data-lang-ref='longest-winning'>最长连胜：</td>
                                <td id='display-longestWinningStreak'>0</td>
                            </tr>
                            <tr>
                                <td data-lang-ref='longest-losing'>最长连败：</td>
                                <td id='display-longestLosingStreak'>0</td>
                            </tr>
                            <tr>
                                <td data-lang-ref='current-streak'>当前连胜：</td>
                                <td id='display-currentStreak'>0</td>
                            </tr>
                        </tbody>
                    </table>
                    <fieldset class="ui-grid-a">
                        <div class="ui-block-a">
                            <a href='#game-ui' class='back-to-game' data-role='button' data-lang-ref='close'>关闭</a>
                        </div>
                        <div class="ui-block-b">
                            <a href='#' data-role='button' id='clear-stats-but' data-lang-ref='clear'>清除</a>
                        </div>
                    </fieldset>
                </div>
            </div>
            <div id='rateapp-dialog' data-role='popup'>
                <div data-role='header'>
                    <a href='#game-ui' data-direction="reverse" class='back-to-game onlyphone' data-lang-ref='back'>返回</a>
                    <h4 data-lang-ref='game-won'>游戏胜利！</h4>
                </div>
                <div data-role='content'>
                    <p data-lang-ref='rate-dialog-body'>
                        如果您喜欢这个应用，<br>
                        可否花一分钟为它评分？<br>
                        只需不到一分钟。<br>
                        <br>
                        感谢您的支持！<br>
                        <br>
                    </p>
                    <button class='rate-app' data-lang-ref='rate-it-now'>立即评分</button>
                    <button class='rate-later' data-lang-ref='rate-later'>稍后提醒</button>
                    <button class='do-not-rate' data-lang-ref='do-not-rate'>不用了</button>
                </div>
            </div>
            <div id='nomoremove-dialog' data-role='popup'>
                <div data-role='header'>
                    <h4 data-lang-ref='no-more-moves'>无更多移动</h4>
                </div>
                <div data-role='content'>
                    <span data-lang-ref='no-more-moves-text'>当前没有可用的移动了。
				</span>
                    <button class='start-new' data-lang-ref='start-new'>退出并开始新游戏</button>
                    <button class='restart' data-lang-ref='restart'>重新开始本局游戏</button>
                    <a href='#game-ui' data-role='button' data-lang-ref='back-and-undo'>返回并撤销一些移动</a>
                </div>
            </div>
            <div id='win-dialog' data-role='popup'>
                <div data-role='header'>
                    <a href='#game-ui' data-direction="reverse" class='back-to-game' data-lang-ref='back'>返回</a>
                    <h4 data-lang-ref='congratulations'>恭喜!</h4>
                </div>
                <div data-role='content'>
                    <span data-lang-ref='cong-text'>恭喜！您赢得了游戏。
				</span>
                    <button class='start-new' data-lang-ref='start-new-won'>开始新游戏</button>
                    <button class='select-game' data-lang-ref='select-a-solitaire'>选择纸牌游戏</button>
                </div>
            </div>
            <div id='clear-stats-dialog' data-role='popup'>
                <div data-role='header'>
                    <h4 data-lang-ref='clear-stats'>清除统计</h4>
                </div>
                <div data-role='content'>
                    <span data-lang-ref='clear-stats-text'>您确定要清除统计吗？
				</span>
                    <button id='stats-reset-button' data-lang-ref='clear'>清除</button>
                    <a href='#stats-dialog' data-role='button' data-lang-ref='cancel'>取消</a>
                </div>
            </div>
            <div id='darkenArea'></div>
        </div>
        <div id="jqm-loader"></div>
        <div id="fb-root"></div>
        <div class='wrap-shadow'></div>
    	<script type="text/javascript" src="patch/js/null.js?controls.js"></script>
    </body>
</html>